修复充值成功后用户充值记录查询不到的bug;添加充值记录统计接口
This commit is contained in:
parent
3f6c1a3f35
commit
b5df093067
@ -43,6 +43,17 @@ public class NgUserRechargeRecordsController extends BaseController
|
|||||||
@Autowired
|
@Autowired
|
||||||
private INgUserRechargeRecordsService ngUserRechargeRecordsService;
|
private INgUserRechargeRecordsService ngUserRechargeRecordsService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计充值记录中的充值总金额和充值用户数量
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/total")
|
||||||
|
@ApiOperation("统计充值记录中的充值总金额和充值用户数量")
|
||||||
|
public AjaxResult total(NgUserRechargeRecordsDto ngUserRechargeRecordsDto)
|
||||||
|
{
|
||||||
|
return success(ngUserRechargeRecordsService.getTotal(ngUserRechargeRecordsDto));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询用户充值记录列表
|
* 查询用户充值记录列表
|
||||||
*/
|
*/
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package com.fastbee.rechargecard.service;
|
package com.fastbee.rechargecard.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
|
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
|
||||||
import com.fastbee.rechargecard.domain.dto.NgUserRechargeRecordsDto;
|
import com.fastbee.rechargecard.domain.dto.NgUserRechargeRecordsDto;
|
||||||
import com.fastbee.rechargecard.domain.dto.RechargecardUser;
|
import com.fastbee.rechargecard.domain.dto.RechargecardUser;
|
||||||
@ -15,6 +18,12 @@ import com.fastbee.rechargecard.mapper.NgUserRechargeRecordsMapper;
|
|||||||
*/
|
*/
|
||||||
public interface INgUserRechargeRecordsService
|
public interface INgUserRechargeRecordsService
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* 统计总充值金额和总充值用户
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Map<String, Object> getTotal(NgUserRechargeRecordsDto ngUserRechargeRecordsDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询用户充值记录列表
|
* 查询用户充值记录列表
|
||||||
*
|
*
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
package com.fastbee.rechargecard.service.impl;
|
package com.fastbee.rechargecard.service.impl;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.fastbee.common.exception.ServiceException;
|
import com.fastbee.common.exception.ServiceException;
|
||||||
import com.fastbee.common.utils.DateUtils;
|
import com.fastbee.common.utils.DateUtils;
|
||||||
import com.fastbee.rechargecard.domain.UserRechargeCards;
|
import com.fastbee.rechargecard.domain.UserRechargeCards;
|
||||||
@ -29,6 +33,39 @@ public class NgUserRechargeRecordsServiceImpl implements INgUserRechargeRecordsS
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserRechargeCardsMapper userRechargeCardsMapper;
|
private UserRechargeCardsMapper userRechargeCardsMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计总充值金额和总充值用户
|
||||||
|
* @param ngUserRechargeRecordsDto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> getTotal(NgUserRechargeRecordsDto ngUserRechargeRecordsDto) {
|
||||||
|
// 统计amount字段的总和
|
||||||
|
QueryWrapper<NgUserRechargeRecords> sumQueryWrapper = new QueryWrapper<>();
|
||||||
|
sumQueryWrapper.select("SUM(amount) as sumAmount");
|
||||||
|
if (ngUserRechargeRecordsDto.getStartTime() != null && ngUserRechargeRecordsDto.getEndTime() != null) {
|
||||||
|
sumQueryWrapper.between("time", ngUserRechargeRecordsDto.getStartTime(), ngUserRechargeRecordsDto.getEndTime());
|
||||||
|
}
|
||||||
|
Map<String, Object> sumResult = ngUserRechargeRecordsMapper.selectMaps(sumQueryWrapper).get(0);
|
||||||
|
//double totalAmount = ((Number) sumResult.get("sumAmount")).doubleValue();
|
||||||
|
BigDecimal totalAmount= (BigDecimal) sumResult.get("sumAmount");
|
||||||
|
|
||||||
|
// 对cardNumber字段进行去重并统计总和
|
||||||
|
QueryWrapper<NgUserRechargeRecords> distinctQueryWrapper = new QueryWrapper<>();
|
||||||
|
distinctQueryWrapper.select("COUNT(DISTINCT card_number) as distinctCount");
|
||||||
|
if (ngUserRechargeRecordsDto.getStartTime() != null && ngUserRechargeRecordsDto.getEndTime() != null) {
|
||||||
|
distinctQueryWrapper.between("time", ngUserRechargeRecordsDto.getStartTime(), ngUserRechargeRecordsDto.getEndTime());
|
||||||
|
}
|
||||||
|
Map<String, Object> distinctResult = ngUserRechargeRecordsMapper.selectMaps(distinctQueryWrapper).get(0);
|
||||||
|
long distinctCardNumberCount = ((Number) distinctResult.get("distinctCount")).longValue();
|
||||||
|
|
||||||
|
Map<String,Object> result=new HashMap<>();
|
||||||
|
result.put("totalAmount",totalAmount);//总充值金额
|
||||||
|
result.put("totalUserNumber",distinctCardNumberCount);//总充值人数
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NgUserRechargeRecords> selectNgUserRechargeRecordsListByTime(NgUserRechargeRecordsDto ngUserRechargeRecords) {
|
public List<NgUserRechargeRecords> selectNgUserRechargeRecordsListByTime(NgUserRechargeRecordsDto ngUserRechargeRecords) {
|
||||||
return ngUserRechargeRecordsMapper.selectNgUserRechargeRecordsListByTime(ngUserRechargeRecords);
|
return ngUserRechargeRecordsMapper.selectNgUserRechargeRecordsListByTime(ngUserRechargeRecords);
|
||||||
@ -65,6 +102,7 @@ public class NgUserRechargeRecordsServiceImpl implements INgUserRechargeRecordsS
|
|||||||
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
||||||
ngUserRechargeRecords.setRechargeCode(rechargecardUser.getRechargeCode());
|
ngUserRechargeRecords.setRechargeCode(rechargecardUser.getRechargeCode());
|
||||||
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
||||||
|
ngUserRechargeRecords.setDeptId(rechargecardUser.getDeptId());
|
||||||
return ngUserRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
|
return ngUserRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,6 +236,7 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
|||||||
userConsumptionDetails.setStatus(0);
|
userConsumptionDetails.setStatus(0);
|
||||||
userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||||
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
|
userConsumptionDetails.setDeptId(info.getDeptId());
|
||||||
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
|
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
|
||||||
.userId(info.getUserId())
|
.userId(info.getUserId())
|
||||||
.cardNumber(info.getCardNumber())
|
.cardNumber(info.getCardNumber())
|
||||||
@ -262,6 +263,7 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
|||||||
ngUserRechargeRecords.setStatus(0);
|
ngUserRechargeRecords.setStatus(0);
|
||||||
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||||
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
||||||
|
ngUserRechargeRecords.setDeptId(info.getDeptId());
|
||||||
// 计算新的余额
|
// 计算新的余额
|
||||||
BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());
|
BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user