package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.mall.dto.MoneyChargeListDto; import cc.mrbird.febs.mall.dto.MoneyFlowListDto; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallMoneyFlow; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallMemberPaymentMapper; import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper; import cc.mrbird.febs.mall.service.IAdminMallMemberService; import cc.mrbird.febs.mall.vo.*; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * @author wzy * @date 2021-09-16 **/ @Slf4j @Service @RequiredArgsConstructor public class AdminMallMemberServiceImpl extends ServiceImpl implements IAdminMallMemberService { private final MallMemberMapper mallMemberMapper; private final MallMoneyFlowMapper mallMoneyFlowMapper; private final MallMemberPaymentMapper mallMemberPaymentMapper; @Override public IPage getMallMemberList(MallMember mallMember, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember); return mallMembers; } @Override @Transactional public FebsResponse closeAccount(Long id) { MallMember mallMember = mallMemberMapper.selectById(id); if(ObjectUtil.isEmpty(mallMember)) { return new FebsResponse().fail().message("会员信息不存在"); } mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_DISABLED); mallMemberMapper.updateById(mallMember); return new FebsResponse().success(); } @Override @Transactional public FebsResponse openAccount(Long id) { MallMember mallMember = mallMemberMapper.selectById(id); if(ObjectUtil.isEmpty(mallMember)) { return new FebsResponse().fail().message("会员信息不存在"); } mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); mallMemberMapper.updateById(mallMember); return new FebsResponse().success(); } @Override public MallMemberVo getMallMemberInfoById(long id) { MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberInfoById(id); return mallMemberVo; } @Override public IPage moneyFlow(QueryRequest request, MallMember mallMember) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage adminMallMoneyFlowVos = mallMoneyFlowMapper.selectMoneyFlowInPage(page, mallMember); return adminMallMoneyFlowVos; } @Override public IPage getMoneyFlowListInPage(MoneyFlowListDto moneyFlowListDto, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage adminMoneyFlowListVos = mallMoneyFlowMapper.getMoneyFlowListInPage(page, moneyFlowListDto); return adminMoneyFlowListVos; } @Override public IPage getMoneyChargeListInPage(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage adminMoneyChargeListVos = mallMoneyFlowMapper.getMoneyChargeListInPage(page, moneyChargeListDto); return adminMoneyChargeListVos; } @Override @Transactional public FebsResponse chargeAgree(Long id) { MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); if(ObjectUtil.isEmpty(mallMoneyFlow)){ return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); } mallMoneyFlow.setStatus(2); mallMoneyFlowMapper.insert(mallMoneyFlow); return new FebsResponse().success(); } @Override @Transactional public FebsResponse chargeDisagree(Long id) { MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); if(ObjectUtil.isEmpty(mallMoneyFlow)){ return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); } mallMoneyFlow.setStatus(3); mallMoneyFlowMapper.insert(mallMoneyFlow); return new FebsResponse().success(); } @Override public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) { MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); AdminMallMemberPaymentVo adminMallMemberPaymentVo = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMoneyFlow.getMemberId()); return adminMallMemberPaymentVo; } }