package com.panzhihua.service_community.service.impl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.panzhihua.common.model.dtos.community.wallet.PageComActWalletTradeAdminDTO;
|
import com.panzhihua.common.model.dtos.community.wallet.PageComActWalletTradeDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComActUserWalletTradeRewardExcelVO;
|
import com.panzhihua.service_community.dao.ComActUserWalletTradeMapper;
|
import com.panzhihua.service_community.model.dos.ComActUserWalletTradeDO;
|
import com.panzhihua.service_community.service.ComActUserWalletTradeService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @auther lyq
|
* @create 2021-06-25 10:35:22
|
* @describe 用户钱包交易记录表服务实现类
|
*/
|
@Slf4j
|
@Service
|
public class ComActUserWalletTradeServiceImpl extends ServiceImpl<ComActUserWalletTradeMapper, ComActUserWalletTradeDO> implements ComActUserWalletTradeService {
|
|
/**
|
* 查询用户收支记录列表
|
* @param walletTradeDTO 请求参数
|
* @return 收支记录
|
*/
|
@Override
|
public R getWalletTrade(PageComActWalletTradeDTO walletTradeDTO){
|
return R.ok(this.baseMapper.getUserWalletTradeList(new Page(walletTradeDTO.getPageNum(),walletTradeDTO.getPageSize()),walletTradeDTO));
|
}
|
|
/**
|
* 新增钱包交易记录
|
* @param userId 用户id
|
* @param communityId 社区id
|
* @param serviceId 交易业务id
|
* @param amount 交易金额
|
* @param type 交易类型(1.发布随手拍 2.结算)
|
* @param remark 交易备注
|
* @param createBy 操作人id
|
* @param walletId 钱包id
|
* @param changeType 变动类型(1.增加 2.减少)
|
*/
|
@Override
|
public Long addWalletTrade(Long userId, Long communityId, Long serviceId
|
, BigDecimal amount, Integer type, String remark, Long createBy, Long walletId,Integer changeType){
|
ComActUserWalletTradeDO walletTradeDO = new ComActUserWalletTradeDO();
|
walletTradeDO.setUserId(userId);
|
walletTradeDO.setCommunityId(communityId);
|
walletTradeDO.setServiceId(serviceId);
|
walletTradeDO.setAmount(amount);
|
walletTradeDO.setType(type);
|
walletTradeDO.setRemark(remark);
|
walletTradeDO.setCreateBy(createBy);
|
walletTradeDO.setWalletId(walletId);
|
walletTradeDO.setChangeType(changeType);
|
walletTradeDO.setCreateAt(new Date());
|
this.baseMapper.insert(walletTradeDO);
|
return walletTradeDO.getId();
|
}
|
|
/**
|
* 分页查询交易记录
|
*
|
* @param pageTradeAdminDTO 请求参数
|
* @return 交易记录列表
|
*/
|
@Override
|
public R pageUserWalletTradeAdmin(PageComActWalletTradeAdminDTO pageTradeAdminDTO){
|
return R.ok(this.baseMapper.getUserWalletTradeAdmin(new Page(pageTradeAdminDTO.getPageNum(),pageTradeAdminDTO.getPageSize()),pageTradeAdminDTO));
|
}
|
|
/**
|
* 查询用户交易记录总额
|
* @param pageTradeAdminDTO 请求参数
|
* @return 交易记录总额
|
*/
|
@Override
|
public R getTradeUserTotalWalletTradeAdmin(PageComActWalletTradeAdminDTO pageTradeAdminDTO){
|
BigDecimal total = this.baseMapper.getTradeUserTotalWalletTradeAdmin(pageTradeAdminDTO);
|
if(total == null){
|
total = BigDecimal.ZERO;
|
}
|
return R.ok(total);
|
}
|
|
@Override
|
public R getTradeUserTotalWalletTradeExportAdmin(PageComActWalletTradeAdminDTO pageTradeAdminDTO){
|
return R.ok(this.baseMapper.getTradeUserTotalWalletTradeExportAdmin(pageTradeAdminDTO));
|
}
|
|
@Override
|
public R getTradeUserTotalJLWalletTradeExportAdmin(PageComActWalletTradeAdminDTO pageTradeAdminDTO){
|
List<ComActUserWalletTradeRewardExcelVO> tradeList = this.baseMapper.getTradeUserTotalJLWalletTradeExportAdmin(pageTradeAdminDTO);
|
tradeList.forEach(trade -> {
|
if(trade.getType().equals("1")){
|
trade.setType("发布随手拍");
|
}
|
});
|
return R.ok(tradeList);
|
}
|
|
@Override
|
public R getTradeUserStatisticsAdmin(PageComActWalletTradeAdminDTO pageTradeAdminDTO){
|
return R.ok(this.baseMapper.getTradeUserStatisticsAdmin(pageTradeAdminDTO));
|
}
|
|
}
|